package com.yh.correct.dao;

import java.util.List;
import java.util.Map;
import com.yh.correct.model.MonthTest;

/** 
* @author 刘文涛  E-mail: 894516860@qq.com
* @version 创建时间：2017年3月7日 下午4:01:21
* 月度考核记录数据访问层
*/
public interface IMonthTestMapper {
	/**
	 * 模糊查找月度考核记录(条件:矫正单位,姓名,月度考核日期)
	 * @param condition
	 * @return
	 */
	public List<Object> getLikeMonthTest(Map<String,Object> condition);
	/**
	 * 模糊查询的结果总数(条件:矫正单位,姓名,月度考核日期)
	 * @param condition
	 * @return
	 */
	public int getLikeMonthTestCount(Map<String,Object> condition);
	/**
	 * 增加月度考核记录
	 * @param monthtest
	 * @return
	 */
	public int addMonthTest(MonthTest monthtest);
	/**
	 * 删除月度考核记录
	 * @param monthtest
	 * @return
	 */
	public int delMonthTest(MonthTest monthtest);
	/**
	 * 更新月度考核记录
	 * @param monthtest
	 * @return
	 */
	public int updateMonthTest(MonthTest monthtest);
	/**
	 * 根据id获取月度考核记录
	 * @param monthtest
	 * @return
	 */
	public Map<String, Object> getMonthTestById(MonthTest monthtest);
	/**
	 * 获取所有月度考核信息
	 * @return
	 */
	public List<Map<String, Object>> getAllMonthTest();
	/**
	 * 获取矫正人员对应公益劳动情况集合
	 * @return
	 */
	public List<Map<String, Object>> selectLabourList(Map<String,Object> map);
	/**
	 * 获取矫正人员对应思想汇报情况集合
	 * @return
	 */
	public List<Map<String, Object>> selectReportList(Map<String,Object> map);
	/**
	 * 获取矫正人员对应集中思想教育情况集合
	 * @return
	 */
	public List<Map<String, Object>> selectThoughtList(Map<String,Object> map);
	/**
	 * 获取矫正人员的加分记录
	 * @param pid
	 * @param date
	 * @return
	 */
	public List<Map<String, Object>> selectBonusList(Map<String,Object> map);
	/**
	 * 获取矫正人员的扣分记录
	 * @param pid
	 * @param date
	 * @return
	 */
	public List<Map<String, Object>> selectPointsList(Map<String,Object> map);
	/**
	 * 查询月度记录是否有某人某月的记录 
	 * @param map
	 * @return
	 */
	public Integer selectIsExist(Map<String,Object> map);
	/**
	 * 查询当月思想教育次数 
	 * @param month
	 * @return
	 */
	public Integer selectThoughtTimes(String month);
	/**
	 * 查询当月公益劳动次数 
	 * @param month
	 * @return
	 */
	public Integer selectLabourTimes(String month);
	/**
	 * 查询当月思想汇报次数 
	 * @param month
	 * @return
	 */
	public Integer selectReportTimes(String month);

}
